#ifndef REPRODUCTORVIDEO_H_
#define REPRODUCTORVIDEO_H_
#ifdef __cplusplus
#define __STDC_CONSTANT_MACROS
#ifdef _STDINT_H
#undef _STDINT_H
#endif
#include <stdint.h>
#endif
#include <gtkmm-2.4/gtkmm/drawingarea.h>
#include <glibmm-2.4/glibmm/refptr.h>
#include <gdkmm-2.4/gdkmm/pixbuf.h>
#include <glibmm-2.4/glibmm/thread.h>
#include <string>
extern "C" {
	#include <libavcodec/avcodec.h>
	#include <libavformat/avformat.h>
	#include <libswscale/swscale.h>
}
#include "Socket.h"
class ReproductorVideo: public Gtk::DrawingArea {
public:
	ReproductorVideo();
	void mostrar_frame(uint8_t *bufferYUV, int size_bufferYUV);
	~ReproductorVideo();
private:
	Glib::Mutex mutex;
	AVCodec *pCodec;
	AVCodecContext* pCodecCtx;
	Glib::RefPtr<Gdk::Pixbuf> pixbuf;
	void limpiar_area();
};
#endif
